#ifndef __EVM2_1T2R_250M_H__
#define __EVM2_1T2R_250M_H__

#define FW_VERSION TO_STR(FW_VERSION_CAT(Trigger250M,4))

#define BD_GPIO_OUTPUT_PIN     (5)
#define BD_GPIO_OUTPUT_PIN_SET GPIO0_5


#define VEL_RES_MM_S (0)

#define DEMO_RX_ANT_NUM            (2)  // 1-1T1R 2-1T2R

#define UDFDEF_ANT2_CALIB_AP_PSF   (0x0EA05F86) // psf:convert from fixed point(i = -1407,r = 8070)
#define UDFDEF_ANT2_CALIB_R        (8070)
#define UDFDEF_ANT2_CALIB_I        (-1407)

#if( UDFDEF_ANT_NUM < 2 )
#undef ANA2_ANT2_RX_EN
#define ANA2_ANT2_RX_EN (0)
#endif

#ifdef ANA4_VDD12_DIS
#undef ANA4_VDD12_DIS
#endif
#define ANA4_VDD12_DIS (0) // 本demo bbsarm 不可断电

#ifdef ANA2_HPF1
#undef ANA2_HPF1 
#endif
#ifdef ANA2_HPF2
#undef ANA2_HPF2 
#endif
#ifdef ANA2_PGA1
#undef ANA2_PGA1 
#endif
#ifdef ANA2_PGA2
#undef ANA2_PGA2 
#endif
#ifdef ANA2_PGA3
#undef ANA2_PGA3 
#endif

#ifdef UDPCFG_RAMP_PLL
#undef UDPCFG_RAMP_PLL
#endif
#ifdef UDPCFG_RAMP_WAVE0_A
#undef UDPCFG_RAMP_WAVE0_A
#endif
#ifdef UDPCFG_RAMP_WAVE0_B
#undef UDPCFG_RAMP_WAVE0_B
#endif
#ifdef UDPCFG_RAMP_WAVE0_C
#undef UDPCFG_RAMP_WAVE0_C
#endif
#ifdef UDFDEF_RAMP_WAVE0_R
#undef UDFDEF_RAMP_WAVE0_R
#endif
#ifdef UDPCFG_RAMP_WAVE1_A
#undef UDPCFG_RAMP_WAVE1_A
#endif
#ifdef UDPCFG_RAMP_WAVE1_B
#undef UDPCFG_RAMP_WAVE1_B
#endif
#ifdef UDPCFG_RAMP_WAVE1_C
#undef UDPCFG_RAMP_WAVE1_C
#endif
#ifdef UDPCFG_RAMP_WAVE1_R
#undef UDPCFG_RAMP_WAVE1_R
#endif

#define UDPCFG_RAMP_PLL             ( UDP_CFG_RAMP_PLL_24G01 )
#define UDPCFG_RAMP_WAVE0_A         ( RAMP_GET(RAMP_0G1_10US) )
#define UDPCFG_RAMP_WAVE0_B         ( RAMP_GET(RAMP_0G_1US)     + 1 )
#define UDPCFG_RAMP_WAVE0_C         ( RAMP_GET(RAMP_0G1_10US_M) + 1 ) // 100mhz/5us 过冲20M内  100mhz/10us 过冲10M内 
#define UDFDEF_RAMP_WAVE0_R         ( 0x00000000 + (1<<16) )

#ifdef UDFDEF_ADCSAMP_NUMLOG
#undef  UDFDEF_ADCSAMP_NUMLOG
#endif
#ifdef UDFDEF_ADCSAMP_OFFSET
#undef  UDFDEF_ADCSAMP_OFFSET
#endif
#ifdef UDFDEF_CIC_SEC
#undef UDFDEF_CIC_SEC
#endif
#ifdef UDFDEF_DOWN_SEC
#undef UDFDEF_DOWN_SEC
#endif
#ifdef UDFDEF_RANGE_USE
#undef UDFDEF_RANGE_USE
#endif
#ifdef UDFDEF_FFT_PT       
#undef UDFDEF_FFT_PT
#endif

#ifdef UDFDEF_CFAR_RG
#undef UDFDEF_CFAR_RG
#endif
#ifdef UDFDEF_CFAR_RS
#undef UDFDEF_CFAR_RS
#endif
#ifdef UDFDEF_CFAR_RTH
#undef UDFDEF_CFAR_RTH
#endif

#ifdef UDFDEF_CFAR_VG
#undef UDFDEF_CFAR_VG
#endif
#ifdef UDFDEF_CFAR_VS
#undef UDFDEF_CFAR_VS
#endif
#ifdef UDFDEF_CFAR_VTH
#undef UDFDEF_CFAR_VTH
#endif

#ifdef UDFDEF_CFAR_R_THRESDIV
#undef UDFDEF_CFAR_R_THRESDIV
#endif

#ifdef UDFDEF_CFAR_MOTION_R_THRESDIV
#undef UDFDEF_CFAR_MOTION_R_THRESDIV
#endif

#if defined(SWEEP_TIME_SELECT) && (SWEEP_TIME_SELECT == 0)               // 0-28us

#define RANGE_RES_MM (713)

#define UDFDEF_ADCSAMP_NUMLOG              ( NUMLOG_64 )
#define UDFDEF_ADCSAMP_OFFSET              ( 16 )
#define UDFDEF_CIC_SEC                     ( 2 )
#define UDFDEF_DOWN_SEC                    ( 1 )
#define UDFDEF_FFT_PT                      ( FFT_PT64 )
#define UDFDEF_RANGE_USE                   ( 32 )
																	         
#define UDPCFG_RAMP_WAVE1_A                ( RAMP_GET(RAMP_0G_7US)     + 3 )
#define UDPCFG_RAMP_WAVE1_B                ( RAMP_GET(RAMP_0G23_28US) )
#define UDPCFG_RAMP_WAVE1_C                ( RAMP_GET(RAMP_0G23_20US_M) ) // 15us过冲10M 临界
#define UDFDEF_RAMP_WAVE1_R                ( 0x00000000 + (UDFDEF_RAMP_CNT<<16) )
																	         
#define ANA2_HPF1 (1) /*0-100k 1-140k 2-200k 3-260k*/
#define ANA2_HPF2 (1) /*0-50k 1-100k 2/3-160k*/
#define ANA2_PGA1 (3) /*0~3*/
#define ANA2_PGA2 (0) /*0~3*/
#define ANA2_PGA3 (0) /*0~3*/

#define UDFDEF_CFAR_R_THRESDIV             (CFAR_THRESDIV4)
#define UDFDEF_CFAR_RG                     (4)
#define UDFDEF_CFAR_RS                     (8)
#define UDFDEF_CFAR_RTH                    (6)

#define UDFDEF_CFAR_MOTION_R_THRESDIV      (CFAR_THRESDIV4)
#define UDFDEF_CFAR_MOTION_RG              (4)
#define UDFDEF_CFAR_MOTION_RS              (8)
#define UDFDEF_CFAR_MOTION_RTH             (6)


#elif (SWEEP_TIME_SELECT == 1)             // 1-53us

#define RANGE_RES_MM (675)

#define UDFDEF_ADCSAMP_NUMLOG              ( NUMLOG_64 )
#define UDFDEF_ADCSAMP_OFFSET              ( 8 )
#define UDFDEF_CIC_SEC                     ( 2 )
#define UDFDEF_DOWN_SEC                    ( 3 )
#define UDFDEF_FFT_PT                      ( FFT_PT64 )
#define UDFDEF_RANGE_USE                   ( 32 )

#define ANA2_HPF1                          (0) /*0-100k 1-140k 2-200k 3-260k*/
#define ANA2_HPF2                          (0) /*0-50k 1-100k 2/3-160k*/
#define ANA2_PGA1                          (3) /*0~3*/
#define ANA2_PGA2                          (1) /*0~3*/
#define ANA2_PGA3                          (0) /*0~3*/

#define UDPCFG_RAMP_WAVE1_A                ( RAMP_GET(RAMP_0G_7US) + 3 )
#define UDPCFG_RAMP_WAVE1_B                ( RAMP_GET(RAMP_0G23_53US) )
#define UDPCFG_RAMP_WAVE1_C                ( RAMP_GET(RAMP_0G23_20US_M) )
#define UDFDEF_RAMP_WAVE1_R                ( 0x00000000 + (UDFDEF_RAMP_CNT<<16) )

#define UDFDEF_CFAR_R_THRESDIV             (CFAR_THRESDIV4)
#define UDFDEF_CFAR_RG                     (4)
#define UDFDEF_CFAR_RS                     (8)
#define UDFDEF_CFAR_RTH                    (6)

#define UDFDEF_CFAR_MOTION_R_THRESDIV      (CFAR_THRESDIV4)
#define UDFDEF_CFAR_MOTION_RG              (4)
#define UDFDEF_CFAR_MOTION_RS              (8)
#define UDFDEF_CFAR_MOTION_RTH             (6)
#elif (SWEEP_TIME_SELECT == 2)             // 2-60us@250M

#define RANGE_RES_MM (764)

#define UDFDEF_ADCSAMP_NUMLOG              ( NUMLOG_64 )
#define UDFDEF_ADCSAMP_OFFSET              ( 10 )
#define UDFDEF_CIC_SEC                     ( 2 )
#define UDFDEF_DOWN_SEC                    ( 3 )
#define UDFDEF_FFT_PT                      ( FFT_PT64 )
#define UDFDEF_RANGE_USE                   ( 32 )

#define ANA2_HPF1                          (0) /*0-100k 1-140k 2-200k 3-260k*/
#define ANA2_HPF2                          (0) /*0-50k 1-100k 2/3-160k*/
#define ANA2_PGA1                          (3) /*0~3*/
#define ANA2_PGA2                          (0) /*0~3*/
#define ANA2_PGA3                          (0) /*0~3*/

#define UDPCFG_RAMP_WAVE1_A                ( RAMP_GET(RAMP_0G_10US) + 1 )
#define UDPCFG_RAMP_WAVE1_B                ( RAMP_GET(RAMP_0G23_60US) )
#define UDPCFG_RAMP_WAVE1_C                ( RAMP_GET(RAMP_0G23_20US_M) )
#define UDFDEF_RAMP_WAVE1_R                ( 0x00000000 + (UDFDEF_RAMP_CNT<<16) )

#define UDFDEF_CFAR_R_THRESDIV             (CFAR_THRESDIV4)
#define UDFDEF_CFAR_RG                     (4)
#define UDFDEF_CFAR_RS                     (8)
#define UDFDEF_CFAR_RTH                    (6)

#define UDFDEF_CFAR_MOTION_R_THRESDIV      (CFAR_THRESDIV4)
#define UDFDEF_CFAR_MOTION_RG              (4)
#define UDFDEF_CFAR_MOTION_RS              (8)
#define UDFDEF_CFAR_MOTION_RTH             (6)
#warning aaaaa
#else
#error xxxx
#endif

#endif
